
package persistencia;

import entidades.Funcionario;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import negocio.Central;
import negocio.Util;

public class FuncionarioDAO {
    
    String csv = "bd/funcionario.csv";
    
    public ArrayList<Funcionario> carrega() throws FileNotFoundException, IOException{
        ArrayList<Funcionario> funcionarioArray = new ArrayList<Funcionario>();
        BufferedReader br = new BufferedReader(new FileReader(csv));
        String l = br.readLine();
        while(l!=null){
            String[] lsplit = l.split(";");
            Funcionario f = new Funcionario();
            f.setIdFuncionario(Integer.parseInt(lsplit[0].trim()));
            f.setNome(lsplit[1].trim());
            f.setSenha(lsplit[2].trim());
            f.setTipo(Integer.parseInt(lsplit[3].trim()));
            funcionarioArray.add(f);
            l=br.readLine();
        }
        br.close();
        return funcionarioArray;
    }
    
    public void insere(Funcionario f) throws IOException{
        BufferedWriter bw = new BufferedWriter(new FileWriter(csv,true));
        bw.write(f.getIdFuncionario()+";"+f.getNome()+";"+f.getSenha()+";"+f.getTipo()+"\n");
        bw.close();
    }
    
    public void remove(ArrayList<Funcionario> funcionarioArray, Funcionario fRemove) throws IOException{
        Util.criaArquivo(csv);
        for(Funcionario f : funcionarioArray){
            if (!f.equals(fRemove)) insere(f);
        }
    }
    
    public void modifica(ArrayList<Funcionario> funcionarioArray) throws IOException{
        Util.criaArquivo(csv);
        for(Funcionario f : funcionarioArray){
            insere(f);
        }
    }
    
    
    
}
